package cool.webstudy.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cool.webstudy.admin.model.dto.dict.data.CreateDictDataDTO;
import cool.webstudy.admin.model.dto.dict.data.PaginationQueryDictDataDTO;
import cool.webstudy.admin.model.dto.dict.data.UpdateDictDataDTO;
import cool.webstudy.admin.model.vo.dict.data.PaginationQueryDictDataVO;
import cool.webstudy.admin.model.vo.dict.data.QueryDictDataByDictTypeListVO;

import java.util.List;

/**
 * 作者：陈先生
 * 日期：2024/8/5
 * 描述:
 */

public interface DictDataService {
    /**
     *
     * @param dto 创建字典值接口请求参数模型
     * @return 是否成功的标志
     * @description: 创建字典值
     */
    Boolean createDictData(CreateDictDataDTO dto);
    /**
     *
     * @param unCode 要删除的字典值的业务主键
     * @return 是否成功的标志
     * @description: 删除字典值
     */
    Boolean deleteDictData(String unCode);
    /**
     * @param dictTypeUnCode 字典类型业务主键
     * @return Boolean 是否成功标识
     * @description: 根据字典类型业务主键来删除其下属的所有字典值
     */
    Boolean deleteDictDataByDictTypeUnCode(String dictTypeUnCode);
    /**
     *
     * @param dto 更新字典值接口请求参数模型
     * @return 是否成功的标志
     * @description: 更新字典值信息
     */
    Boolean updateDictData(UpdateDictDataDTO dto);
    /**
     *
     * @param dictType 字典类型
     * @return 是否成功的标志
     * @description: 根据字典类型查询字典值
     */
    List<QueryDictDataByDictTypeListVO> queryDictDataByDictTypeListVO(String dictType);
    /**
     * @param dto 分页获取字典值信息列表接口请求参数模型
     * @return Page<PaginationQueryDictDataVO> 分页获取字典值信息列表接口响应参数模型
     * @description: 分页获取字典值信息列表接口
     */
    Page<PaginationQueryDictDataVO> paginationQueryDictDataByDictTypeListVO(PaginationQueryDictDataDTO dto);
}
